$(document).ready(function() {

	$(".checkall").click(function() {
		var isChecked = $(this).prop("checked");
		$("input").prop("checked", isChecked);
		updateTotal();
	});
	//选中该店铺所有商品
	$(".shop").click(function() {
		var isChecked = $(this).find('input').prop("checked");
		$(this).nextUntil('.shop').find('.singlechoose input').prop("checked", isChecked);
		updateTotal();
	});
	$(".shopname").click(function() {
		var isChecked = $(this).find('input').prop("checked");
		$(this).nextUntil('.shopname').find('.singlechoose input').prop("checked", isChecked);
		updateTotal();
	});

	// 单个商品选择框点击事件，更新总价及已选商品数量
	$(".singlechoose input").click(function() {
		updateTotal();
	});
	$(".singlechoose input").click(function(event) {
		event.stopPropagation();
		updateTotal();
	});

	// 商品数量增加按钮点击事件
	$(".add").click(function() {
		event.stopPropagation();
		var numInput = $(this).prev().find('input');
		var currentNum = parseInt(numInput.val());
		var maxNum = $(this).closest('.row').data('max'); // 假设在HTML元素上通过data-max属性设置了最大数量
		if (currentNum < maxNum) {
			numInput.val(currentNum + 1);
			updateTotal();
		} else {
			alert("已达到最大商品数")
		}
	});

	// 商品数量减少按钮点击事件
	$(".minus").click(function() {
		var numInput = $(this).next('input');
		var currentNum = parseInt(numInput.val());
		if (currentNum > 1) {
			numInput.val(currentNum - 1);
			updateTotal();
		} else {
			alert("最少商品数为1")
		}
	});


	// 删除单个商品
	$(".del").click(function() {
		$(this).closest('.row').remove();
		updateTotal();
	});

	// 删除选中商品
	$(".remove-batch").click(function() {
		$(".singlechoose input:checked").each(function() {
			$(this).closest('.row').remove();
		});
		updateTotal();
	});

	// 清理购物车
	$(".clear-all").click(function() {
		// 直接移除所有店铺元素，即清空购物车所有商品
		$("#cart").empty();
		// 将已选商品数量和总价重置为0
		$(".amount-sum em").text(0);
		$(".price-sum em").text("￥0.00");
	});

	// 计算总价和已选商品数量的函数
	function updateTotal() {
		var totalPrice = 0;
		var selectedCount = 0;
		$(".singlechoose input:checked").each(function() {
			var price = parseFloat($(this).closest('.row').find('.price').text().replace("￥", ""));
			var num = parseInt($(this).closest('.row').find('.numb').val());
			totalPrice += price * num;
			selectedCount += num;
		});
		$(".amount-sum em").text(selectedCount);
		$(".price-sum em").text("￥" + totalPrice.toFixed(2));
	}
	$(".del").mouseenter(function() {
		$(this).css('color', 'red');
	}).mouseleave(function() {
		$(this).css('color', 'black');
	});
	//添加猜你喜欢里的商品
	  $(".buy").click(function () {
	        // 获取商品名称
	        var productName = $(this).parent().find('.desc').text();
	        // 获取商品价格，并去除价格中的货币符号（这里假设是 &yen; 符号），转换为数字类型
	        var productPrice = parseFloat($(this).parent().find('.price').text().replace('&yen;', '￥'));
	        // 获取商品图片地址（这里假设图片路径获取方式符合实际页面结构）
	        var productImage = $(this).parent().find('img').attr('src');
	
	        // 创建一个新的商品行元素（模拟购物车中商品展示的结构）
	        var newRow = $('<div class="row"></div>');
	
	        // 创建选择框元素（用于选择商品，可扩展全选等功能）
	        var checkboxDiv = $('<div class="choose"><div class="singlechoose"><input type="checkbox" /></div></div>');
	        // 创建商品图片元素
	        var imageDiv = $('<div class="image"><img class="picture" src="' + productImage + '" /></div>');
	        // 将选择框和图片元素添加到新的商品行
	        newRow.append(checkboxDiv).append(imageDiv);
	
	        // 创建商品名称元素并添加到新的商品行
	        var goodsDiv = $('<div class="goods">' + productName + '</div>');
			
	        newRow.append(goodsDiv);
	
	        // 创建商品属性元素（这里暂时为空，可根据实际需求扩展添加商品属性信息）
	        var propsDiv = $('<div class="props"></div>');
	          // 假设属性信息在 <p class="msg"> 元素里，以空格等分隔，这里提取并添加到propsDiv中
	          var msgText = $(this).parent().find('.msg').text().trim();
	          var attrs = msgText.split(' ');  // 按空格分割属性文本，可根据实际分隔符调整
	          $.each(attrs, function (index, attr) {
	              propsDiv.append($('<div>' + attr + '</div>'));
	          });
	          newRow.append(propsDiv);
	
	        // 创建商品价格元素并添加到新的商品行
	        var priceDiv = $('<div class="price">' + '￥' + productPrice + '</div>');
	        newRow.append(priceDiv);
	
	        // 创建商品数量操作元素（包含增减按钮和数量输入框，初始数量设为1）
	        var numsDiv = $('<div class="all"><div class="nums1"><button class="minus">-</button><input class="numb" type="text" value="1"/></div><button class="add">+</button></div>');
	        newRow.append(numsDiv);
	
	        // 创建商品删除按钮元素并添加到新的商品行
	        var delDiv = $('<div class="del">删除</div>');
	        newRow.append(delDiv);
	
	        // 将新创建的商品行添加到购物车的商品列表中（这里假设购物车的商品列表外层容器是 #cart 下动态生成的部分）
	        $('#cart').append(newRow);
	
	        // 添加商品到购物车后更新购物车底部已选商品数量和总价信息
	        updateTotal();
	    });	
		
		    // 获取每次移动的像素距离，这里设置为 100px，你可以根据实际想要的移动幅度进行调整
		    var moveStep = 100; 
		    // 获取展示猜你喜欢商品的列表元素
		    var guessGoodsList = $('.guess-scroll');
		
		    // 为左箭头按钮添加点击事件
		    $('.left').click(function () {
		        // 获取当前的 margin-left 值，并转换为数字类型（去除单位 px）
		        var currentMarginLeft = parseInt(guessGoodsList.css('margin-left'));
		        // 计算新的 margin-left 值，向左移动则增加距离（因为 margin-left 负值表示向左偏移）
		        var newMarginLeft = currentMarginLeft + moveStep;
		        // 设置新的 margin-left 值，实现向左移动效果
		        guessGoodsList.css('margin-left', newMarginLeft + 'px');
		    });
		    // 为右箭头按钮添加点击事件
		    $('.right').click(function () {
		        // 获取当前的 margin-left 值，并转换为数字类型（去除单位 px）
		        var currentMarginLeft = parseInt(guessGoodsList.css('margin-left'));
		        // 计算新的 margin-left 值，向右移动则减少距离
		        var newMarginLeft = currentMarginLeft - moveStep;
		        // 设置新的 margin-left 值，实现向右移动效果
		        guessGoodsList.css('margin-left', newMarginLeft + 'px');
		    });
});